<html>
<body>
Reports declarations of <code>Collection</code> variables made by using the collection class as a type,
rather than an appropriate interface. The warning is not issued if weakening the variable type 
will cause a compilation error.
<p>Example:</p>
<pre><code>
  // Warning: concrete collection class ArrayList used.
  int getTotalLength(ArrayList&lt;String&gt; list) {
    return list.stream().mapToInt(String::length).sum();
  }

  // No warning, as trimToSize() method is not
  // available in the List interface
  void addData(ArrayList&lt;String&gt; data) {
    data.add("Hello");
    data.add("World");
    data.trimToSize();
  }
</code></pre>
A quick-fix is suggested to use the appropriate collection interface (e.g. <code>Collection</code>, <code>Set</code>, or <code>List</code>).
<!-- tooltip end -->
</body>
</html>